package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.PracticeCadetMasterSkill;
import com.ruoyi.system.domain.PracticeCadetMasterSkillCount;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

/**
 * 实践掌握技能Mapper接口
 * 
 * @author dp
 * @date 2023-12-02
 */
public interface PracticeCadetMasterSkillMapper 
{
    /**
     * 查询实践掌握技能
     * 
     * @param masterSkillId 实践掌握技能主键
     * @return 实践掌握技能
     */
    public PracticeCadetMasterSkill selectPracticeCadetMasterSkillByMasterSkillId(Long masterSkillId);

    /**
     * 查询实践掌握技能列表
     * 
     * @param practiceCadetMasterSkill 实践掌握技能
     * @return 实践掌握技能集合
     */
    public List<PracticeCadetMasterSkill> selectPracticeCadetMasterSkillList(PracticeCadetMasterSkill practiceCadetMasterSkill);

    /**
     * 查询实践掌握技能合计列表
     * @param submitBegin
     * @param submitEnd
     * @param baseId
     * @param masterSkillStatus
     * @return
     */
    public List<PracticeCadetMasterSkillCount> selectPracticeCadetMasterSkillCount(@Param("submitBegin") String submitBegin,
                                                                                   @Param("submitEnd") String submitEnd,
                                                                                   @Param("baseId") String baseId,
                                                                                   @Param("masterSkillStatus") String masterSkillStatus);

    /**
     * 根据条件查询实践掌握技能列表
     * @param submitBegin
     * @param submitEnd
     * @param baseId
     * @param cadetId
     * @param masterSkillStatus
     * @return
     */
    public List<PracticeCadetMasterSkill> getMasterSkillList(@Param("submitBegin") String submitBegin,
                                                             @Param("submitEnd") String submitEnd,
                                                             @Param("baseId") String baseId,
                                                             @Param("cadetId") String cadetId,
                                                             @Param("masterSkillStatus") String masterSkillStatus);

    /**
     * 新增实践掌握技能
     * 
     * @param practiceCadetMasterSkill 实践掌握技能
     * @return 结果
     */
    public int insertPracticeCadetMasterSkill(PracticeCadetMasterSkill practiceCadetMasterSkill);

    /**
     * 修改实践掌握技能
     * 
     * @param practiceCadetMasterSkill 实践掌握技能
     * @return 结果
     */
    public int updatePracticeCadetMasterSkill(PracticeCadetMasterSkill practiceCadetMasterSkill);

    /**
     * 删除实践掌握技能
     * 
     * @param masterSkillId 实践掌握技能主键
     * @return 结果
     */
    public int deletePracticeCadetMasterSkillByMasterSkillId(Long masterSkillId);

    /**
     * 批量删除实践掌握技能
     * 
     * @param masterSkillIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePracticeCadetMasterSkillByMasterSkillIds(Long[] masterSkillIds);
}
